// 模拟分数相乘
// 输入第一行表示分数的个数N
// 接下来N行，每行第一个数字表示分子，第二个表示分母，分母必定不为0
// 最终累乘结果32bit不溢出，但是中间结果可能溢出
// 需要考虑溢出的问题
#include <bits/stdc++.h>

using namespace std;

int main() {
    int frac_num;
    cin >> frac_num;
    
    long long mul_num = 1, mul_denum = 1, tmp_num, tmp_denum;
    bool mul_symbol = true, tmp_symbol;
    for (int i = 0; i < frac_num; ++i) {
        cin >> tmp_num >> tmp_denum;
        tmp_symbol = (tmp_num/tmp_denum < 0? false:true);
        if (tmp_num == 0) {
            mul_num == 0;
            break;
        }
        mul_num *= abs(tmp_num);
        mul_denum *= abs(tmp_denum);
        mul_symbol = !(mul_symbol^tmp_symbol)? true:false;

        // 化约
        long long min_tmp = min(mul_num, mul_denum);
        while (mul_num%min_tmp != 0 || (mul_denum % min_tmp != 0)) {
            min_tmp--;
        }
        mul_num /= min_tmp;
        mul_denum /= min_tmp;
    }
    if (mul_num == 0) {
        cout << 0;
    } else if (mul_num ==1 && (mul_denum == 1)) {
        cout << (mul_symbol?"":"-") << 1;
    } else {
        cout << (mul_symbol?"":"-") << mul_num << "/" << mul_denum;
    }
    return 0;
}



// class frac {
//     public:
//         long long _num; // 分子
//         long long _denum; // 分母
//         bool _symbol; // 正负号，true为正，false为负

//         frac(long long num, long long denum, bool symbol)
//             : _num(num), _denum(denum), _symbol(symbol) {}
//         ~frac() {}
// };

// frac mul_frac(frac& a, frac& b) {
//     long long num, denum;
//     bool symbol;
//     num = a._num * b._num;
//     denum = a._denum * b._denum;
//     symbol = !(a._symbol^b._symbol);

//     // 化约
//     long long tmp;
//     tmp = min(num, denum);
//     while (!(num % tmp == 0 && (denum % tmp == 0))) {
//         tmp--;
//     }
//     num /= tmp;
//     denum /= tmp;
//     return frac(num, denum, symbol);
// }

// int main() {
//     int frac_nums;
//     cin >> frac_nums;

//     long long tmp1, tmp2;
//     frac sum(1, 1, true);

//     for (int i = 0; i < frac_nums; ++i) {
//         cin >> tmp1 >> tmp2;
//         if (tmp1 == 0) {
//             sum = frac(0, 0, true);
//             break;
//         }
//         frac tmp(abs(tmp1), abs(tmp2), tmp1*tmp2 < 0?false:true);
//         sum = mul_frac(sum, tmp);
//     }
//     if (sum._num == 0) {
//         cout << 0;
//     } else if (sum._num == 1 && (sum._denum == 1)) {
//         cout << (sum._symbol?"":"-") << 1;
//     } else {
//         cout << (sum._symbol?"":"-") << sum._num << "/" << sum._denum;
//     }
//     return 0;
// }